1. Field of the Invention
The present invention relates generally to a computer system having a computer peripheral device, such as an I/O (input/output) subsystem. More particularly, the present invention relates to apparatus, and an associated method, by which to convert the computer peripheral device into an I.sub.2 O- (intelligent input/output) aware device.
The peripheral device is converted into an I.sub.2 O-aware device by connecting an IOP (input/output processor) mounted upon an IOP card, or other connector, to a computer bus to which the computer peripheral device also is connected. In one implementation, the computer peripheral device is a PCI device coupled to a PCI bus and the IOP card is coupled to the PCI bus. By merely plugging the IOP card into a PCI socket of the PCI bus, the peripheral device is converted into an I.sub.2 O-aware device.
A conventional, non I.sub.2 O-aware computer peripheral device need not be discarded and replaced with an I.sub.2 O-aware peripheral device. Rather, an existing, non-I.sub.2 O-aware, computer peripheral device is converted into an I.sub.2 O-aware device merely by connecting the separate, IOP card to the computer bus. Also, replacement of the IOP card with a substitute card, such as to upgrade the IOP with a more powerful device, is effectuated merely by unplugging one IOP card out of connection with the computer bus and substituting a substitute IOP card therefor. Furthermore, the IOP card is scalable, permitting more than one computer peripheral device to be converted into an I.sub.2 O-aware device.
2. Description of Related Art
Computer systems have achieved wide usage in modern society. During operation, a computer system processes and stores data at a speed and at a level of accuracy many times that which can be performed manually. Successive generations of computer systems have permitted ever-increasing amounts of data to be processed at ever-increasing rates.
Computer systems are sometimes operated as stand-alone devices or connected together by way of network connections, typically together with a network server, to form a computer network. When networked together, communication between the separate computer systems is possible. Files and other data, stored or generated at one computer system, can be transferred to another computer system.
A conventional computer system typically includes one or more CPUs (central processing units) capable of executing algorithms forming applications and a computer main memory. Peripheral devices, both those embedded together with a CPU or constructed to be separate therefrom, also typically form portions of a conventional computer system. Computer peripheral devices include, for instance, video graphics adapters, LAN (local area network) interfaces, SCSI (small computer system interface) bus adapters, and mass storage devices, such as disk drive assemblies.
A computer system further typically includes computer buses which permit the communication of data between portions of the computer system. For instance, a host bus, a memory bus, at least one high-speed, a local peripheral expansion bus, and one or more additional peripheral buses form portions of a typical computer system.
A peripheral bus is formed, for instance, of an SCSI bus, an EISA (extension to industry standard architecture) bus, an ISA (industry standard architecture) bus, or a PCI (peripheral component interface) bus. The peripheral bus forms a communication path to and from a peripheral device connected thereto. The computer system CPU, or a plurality of CPUs in a multi-processor system, communicates with a computer peripheral device by way of a computer bus, such as one or more of the computer buses noted above.
Data is communicated to and from a computer peripheral device by way of a computer bus. A computer peripheral, depending upon its data transfer speed requirements, is connected to an appropriate computer bus, typically by way of a bus bridge that detects required actions, arbitrates, and translates both data and addresses between the various buses.
A computer peripheral device forming a portion of a single computer system might well be supplied by a manufacturer other than the manufacturer of the computer CPU. If the computer system contains more than one peripheral device, the peripheral devices might also be supplied by different manufacturers. Furthermore, the computer system may be operable pursuant to any of several different operating systems. The various combinations of computer peripheral devices and computer operating systems of which a computer system might be formed quickly becomes quite large.
Software drivers are typically required for each computer peripheral device to effectuate its operation. A software driver must be tailored to be operable together with the operating system pursuant to which the computer system is operable. A computer peripheral device must therefore have associated therewith a software driver to be operable together with any of the several operating systems pursuant to which the computer system might be operable. A multiplicity of software drivers might have to be created for a single computer peripheral to ensure that a computer peripheral device is operable together with any of the different operating systems.
The complexity resulting from such a requirement has led, at least in part, to the development of an I.sub.2 O (intelligent input/output) standard specification. The I.sub.2 O standard specification sets forth, inter alia, standards for an I/O device driver architecture that is independent of both a specific peripheral device being controlled and the operating system of the computer system at which the device driver is to be installed.
In the I.sub.2 O standard specification, the portion of the driver that is responsible for managing the peripheral device is logically separated from the specific implementation details for the operating system in which is to be installed. By doing so, the part of the driver that manages the peripheral device becomes portable across different computer and operating systems. The I.sub.2 O standard specification also generalizes the nature of communication between the host computer system and peripheral hardware, thus providing processor and bus technology independence.
Construction of computer systems aware with the I.sub.2 O standard specification facilitates formation of a computer system having component portions supplied by different suppliers while also assuring that the different component portions of the computer system shall be operable when connected theretogether. Upgrading and conversion of an existing computer system to be I.sub.2 O aware assures that subsequent upgrading of the computer system shall be able to be effectuated simply.
While additional applications can be installed at a computer system to be executed by the CPU of the computer system, thereby to make the computer CPU I.sub.2 O-aware, a conventional computer peripheral device cannot so easily be converted. A computer peripheral device which does not include a processor cannot analogously become I.sub.2 O-aware.
A need exists, therefore, to provide a manner by which to convert an existing, conventional computer peripheral device to be I.sub.2 O-aware.
It is in light of this background information related to computer systems that the significant improvements of the present invention have evolved.